home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / comp_spe / part2 < prev    next >
Internet Message Format  |  1994-04-16  |  31KB

  1. Path: bloom-beacon.mit.edu!senator-bedfellow.mit.edu!faqserv
  2. From: andrewh@speech.su.oz.au (Andrew Hunt)
  3. Newsgroups: comp.speech,comp.answers,news.answers
  4. Subject: comp.speech Frequently Asked Questions - part 2/3
  5. Supersedes: <comp-speech-faq/part2_764040899@rtfm.mit.edu>
  6. Followup-To: comp.speech
  7. Date: 16 Apr 1994 13:08:02 GMT
  8. Organization: Speech Technology Group, The University of Sydney
  9. Lines: 753
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 28 May 1994 13:05:48 GMT
  12. Message-ID: <comp-speech-faq/part2_766501548@rtfm.mit.edu>
  13. References: <comp-speech-faq/part1_766501548@rtfm.mit.edu>
  14. Reply-To: andrewh@speech.su.oz.au (Andrew Hunt)
  15. NNTP-Posting-Host: bloom-picayune.mit.edu
  16. Summary: Useful information about Speech Technology
  17. X-Last-Updated: 1994/04/06
  18. Originator: faqserv@bloom-picayune.MIT.EDU
  19. Xref: bloom-beacon.mit.edu comp.speech:2284 comp.answers:4933 news.answers:18147
  20.  
  21. Archive-name: comp-speech-faq/part2
  22. Last-modified: 1994/04/06
  23.  
  24.  
  25.  
  26. SECTION 2 - Signal Processing for Speech
  27.  
  28.  
  29. Q2.1: What sampling do I need for speech?
  30.  
  31. For recorded speech to be understood by humans you need an 8kHz
  32. sampling rate or more and at least 8 bit sampling.  This produces
  33. poor quality speech - but in can be understood.
  34.  
  35. Improvements can be achieved by increasing the number of bits
  36. in sampling to 12bits or 16bits, or by using a non-linear encoding
  37. technique such as mu-law or A-law (see Q2.7).  This improves
  38. the "signal-to-noise" ratio.
  39.  
  40. Increasing the sampling rate above 8kHz, say to 10kHz, 16kHz or 20Khz,
  41. improves the frequency response: the higher the sampling frequency
  42. the better the high frequency content will be.  A 16kHz sampling rate
  43. is a reasonable target for high quality speech recording and playback.
  44.  
  45. When doing speech recognition you need to remember that the your
  46. computer is not as good as your ear so it will have trouble with poor
  47. qulaity sounds.  The choice of an appropriate sampling setup depends
  48. very much on the speech recognition task and the amount of computer
  49. power available.
  50.  
  51. ------------------------------------------------------------------------
  52.  
  53. Q2.2: How do I find the pitch of a speech signal?
  54.  
  55. This topic comes up regularly in the comp.dsp newsgroup.  Question 2.5
  56. of the FAQ posting for comp.dsp gives a comprehensive list of references
  57. on the definition, perception and processing of pitch.
  58.  
  59. ------------------------------------------------------------------------
  60.  
  61. Q2.3: How do I find the start and end points of a speech signal?
  62.  
  63. A large number of papers have been presented on this task.  Try the
  64. following papers:- 
  65.  
  66. Rabiner LR, Sambur MR, "An Algorithm for Determining the Endpoints
  67.    of Isolated Utterances", Bell System Technical Journal, Vol 54,
  68.    No. 2, pp 297-315, 1975.
  69.  
  70. Drago, P.G. et al.  "Digital Dynamic Speech Detectors."  IEEE Trans on
  71.    Communications, Vol 26, No 1, Jan 78, pp. 140-145.
  72.  
  73. Newman, W.C.  "Detecting Speech with an Adapative Neural Network."
  74.    Electronic Design.  22 March 1990.
  75.  
  76. ------------------------------------------------------------------------
  77.  
  78. Q2.4: Where can I find FFT software?
  79.  
  80. Try the following file - available by anonymous ftp :-
  81.  
  82.     usc.edu:/pub/C-numanal/fft-stuff.tar.gz
  83.  
  84. It contains a series of optimised fft routines, including mixed-radix
  85. algorithms.  Note that the .gz suffix indicates GNU zip format.
  86.  
  87. ------------------------------------------------------------------------
  88.  
  89. Q2.5: What signal processing techniques are used in speech technology?
  90.  
  91. This question is far to big to be answered in a FAQ posting.  Fortunately
  92. there are many good books which answer the question!
  93.  
  94. Some good introductory books include
  95.  
  96.    Digital processing of speech signals; L. R. Rabiner, R. W. Schafer.
  97.    Englewood Cliffs; London: Prentice-Hall, 1978
  98.  
  99.    Voice and Speech Processing; T. W. Parsons.
  100.    New York; McGraw Hill 1986
  101.  
  102.    Computer Speech Processing; ed Frank Fallside, William A. Woods
  103.    Englewood Cliffs: Prentice-Hall, c1985
  104.  
  105.    Digital speech processing : speech coding, synthesis, and recognition
  106.    edited by A. Nejat Ince; Kluwer Academic Publishers, Boston, c1992
  107.  
  108.    Speech science and technology; edited by Shuzo Saito
  109.    pub. Ohmsha, Tokyo, c1992
  110.  
  111.    Speech analysis; edited by Ronald W. Schafer, John D. Markel
  112.    New York, IEEE Press, c1979
  113.  
  114.    Douglas O'Shaughnessy -- Speech Communication: Human and Machine
  115.    Addison Wesley series in Electrical Engineering: Digital Signal Processing,
  116.    1987.
  117.  
  118. ------------------------------------------------------------------------
  119.  
  120. Q2.6: What speech sampling and signal processing hardware can I use?
  121.  
  122. In addition to the following information, have a look at the Audio File
  123. format document prepared by Guido van Rossum (see details in Section 1.7).
  124.  
  125.  
  126. Product: Sun standard audio port (SPARC 1 & 2)
  127. Input:  1 channel, 8 bit mu-law encoded (telephone quality)
  128. Output: 1 channel, 8 bit mu-law encoded (telephone quality)
  129.  
  130.  
  131. Product:  Ariel
  132. Platform: Sun + others?
  133. Input:  2 channels, 16bit linear, sample rate 8-96kHz (inc 32, 44.1, 48kHz).
  134. Output: 2 channels, 16bit linear, sample rate 8-50kHz (inc 32, 44.1, 48kHz).
  135. Contact: Ariel Corp.433 River Road,
  136.     Highland Park, NJ 08904.
  137.     Ph: 908-249-2900  Fax: 908-249-2123  DSP BBS: 908-249-2124
  138.  
  139.  
  140. Product:  IBM RS/6000 ACPA (Audio Capture and Playback Adapter)
  141. Description: The card supports PCM, Mu-Law, A-Law and ADPCM at 44.1kHz 
  142.     (& 22.05, 11.025, 8kHz) with 16-bits of resolution in stereo.  
  143.     The card has  a built-in DSP (don't know which one).  The device 
  144.     also supports various formats for the output data, like big-endian, 
  145.     twos complement, etc.  Good noise immunity.
  146.     The card is used for IBM's VoiceServer (they use the DSP for 
  147.     speech recognition).  Apparently, the IBM voiceserver has a 
  148.     speaker-independent vocabulary of over 20,000 words and each 
  149.     ACPA can support two independent sessions at once.
  150. Cost:    $US495
  151. Contact: ?
  152.  
  153. Product: Sound Galaxy NX , Aztech Systems
  154. Platform: PC - DOS,Windows 3.1
  155. Cost: ??
  156. Input: 8bit linear, 4-22 kHz.
  157. Output: 8bit linear, 4-44.1 kHz 
  158. Misc: 11-voice FM Music Synthesizer YM3812; Built-in power amplifier;
  159.     DSP signal processing support - ST70019SB
  160.     Hardware ADPCM decompression (2:1,3:1,4:1)
  161.     Full "AdLib" and "Sound Blaster" compatbility.
  162.     Software includes a  simple Text-to-Speech program "Monologue".
  163.  
  164.  
  165. Product: Sound Galaxy NX PRO, Aztech Systems
  166. Platform: PC - DOS,Windows 3.1
  167. Cost: ??
  168. Input: 2 * 8bit linear, 4-22.05 kHz(stereo), 4-44.1 KHz(mono).
  169. Output: 2 * 8bit linear, 4-44.1 kHz(stereo/mono)
  170. Misc: 20-voice FM Music Synthesizer; Built-in power amplifier;
  171.     Stereo Digital/Analog Mixer; Configuration in EEPROM.
  172.     Hardware  ADPCM decompression (2:1,3:1,4:1).
  173.     Includes DSP signal processing support
  174.     Full "AdLib" and "Sound Blaster Pro II" compatybility.
  175.     Software includes a simple Text-to-Speech program "Monologue"
  176.     and Sampling laboratory for Windows 3.1: WinDAT.
  177. Contact: USA (510)6238988
  178.  
  179.  
  180. Product Name:    ATI Stereo F/X Sound Board
  181. Platform:    PC XT or AT - DOS, Windows 3.0, 3.1
  182. Cost:        $120 Canadian
  183. Description:
  184.     Input - 8 bit ADC, 44.1 kHz mono, 22.05 kHz Stereo.
  185.     Output - Dynamic range = 48 dB,  32 anti-aliasing filters
  186.     Adds Stereo effect to existing mono Adlib or Sound Blaster apps.
  187.     11-voice YAMAHA FM Music Synthesizer
  188.     Built-in 8 watt power amplifier, 4 watts per channel.
  189.     Volume ctrl on rear.
  190.     2 Joystick input, software setup (no switches), software included.  
  191.     "AdLib" and "Sound Blaster" compatibility.
  192.     DMA support for high speed digital audio.
  193.     ADPCM decomp @ 4:1, 3:1, 2:1.  Will play .WAV files.
  194.     Optional MIDI I/O port $79. (MIDI IN, OUT, THRU, and sequencer).
  195. Contact: ATI Technologies Inc.
  196.     3761 Victoria Park Avenue
  197.     Scarborough, Ontario
  198.     CANADA, M1W 3S2
  199.     Ph:  (416) 756-0711   Fax: (416) 756-0720
  200.     BBS: (416) 764-9404 (9600 baud  N.8.1)
  201.  
  202.  
  203.                        Other PC Sound Cards 
  204. ============================================================================
  205. sound          stereo/mono              compatible     included   voices
  206. card           & sample rate            with           ports
  207. ============================================================================
  208. Adlib Gold     stereo: 8-bit 44.1khz    Adlib ?        audio      20 (opl3)
  209. 1000                  16-bit 44.1khz                   in/out,    +2 digital
  210.                mono: 8-bit 44.1khz                     mic in,    channels
  211.                     16-bit 44.1khz                     joystick,
  212.                                                        MIDI
  213.  
  214. Sound Blaster  mono: 8-bit 22.1khz      Adlib          audio       11 synth.
  215.                FM synth with                           in/out,
  216.                2 operators                             joystick,
  217.  
  218. Sound Blaster  stereo: 8-bit 22.05khz   Adlib          audio       22
  219. Pro Basic      mono: 8-bit 44.1khz      Sound Blaster  in/out,
  220.                                                        joystick,
  221.  
  222. Sound Blaster  stereo: 8-bit 22.05khz   Adlib          audio       11
  223. Pro            mono: 8-bit 44.1khz      Sound Blaster  in/out
  224.                                                        joystick,
  225.                                                        MIDI, SCSI
  226.  
  227. Sound Blaster  stereo: 8-bit 4-44.1khz  Sound Blaster  audio       20
  228. 16 ASP         stereo: 16-bit 4-44.1khz                in/out,
  229.                                                        joystick,
  230.                                                        MIDI
  231.  
  232. Audio Port     mono: 8-bit 22.05khz     Adlib          audio       11
  233.                                         Sound Blaster  in/out,
  234.                                                        joystick
  235.  
  236. Pro Audio      stereo: 8-bit 44.1khz    Adlib          audio,      20
  237. Spectrum +                              Pro Audio      in/out,
  238.                                         Spectrum       joystick
  239.  
  240.  
  241. Pro Audio      stereo: 16-bit 44.1khz   Adlib          audio       20
  242. Spectrum 16                             Pro Audio      in/out,
  243.                                         Spectrum       joystick,
  244.                                         Sound Blaster  MIDI, SCSI
  245.  
  246. Thunder Board  stereo: 8-bit 22khz      Adlib          audio       11
  247.                                         Sound Blaster  in/out,
  248.                                                        joystick
  249.  
  250. Gravis         stereo: 8-bit 44.1khz    Adlib,         audio line  32 sampled
  251. Ultrasound     mono: 8-bit 44.1khz      Sound Blaster  in/out,     32 synth.
  252.                                                        amplified
  253.                                                        out,
  254.                (w/16-bit daughtercard)                 mic in, CD
  255.                stereo: 16-bit 44.1khz                  audio in,
  256.                mono: 16-bit 44.1khz                    daughterboard
  257.                                                        ports (for
  258.                                                        SCSI and
  259.                                                        16-bit)
  260.  
  261. MultiSound     stereo: 16-bit 44.1kHz   Nothing        audio       32 sampled
  262.                64x oversampling                        in/out,
  263.                                                        joystick,
  264.                                                        MIDI
  265.  
  266. =============================================================================
  267.  
  268.  
  269. Can anyone provide information on Mac, NeXT and other hardware?
  270.  
  271. Product:  xxx
  272. Platform: PC, Mac, Sun, ...
  273. Rough Cost (pref $US):
  274. Input: e.g. 16bit linear, 8,10,16,32kHz.
  275. Output: e.g. 16bit linear, 8,10,16,32kHz.
  276. DSP: signal processing support
  277. Other:
  278. Contact:
  279.  
  280. ------------------------------------------------------------------------
  281.  
  282. Q2.7: How do I convert to/from mu-law format?
  283.  
  284. Mu-law coding is a form of compression for audio signals including speech.
  285. It is widely used in the telecommunications field because it improves the
  286. signal-to-noise ratio without increasing the amount of data.  Typically,
  287. mu-law compressed speech is carried in 8-bit samples.  It is a companding
  288. technqiue.  That means that carries more information about the smaller signals
  289. than about larger signals.  Mu-law coding is provided as standard for the
  290. audio input and output of the SUN Sparc stations 1&2 (Sparc 10's are linear).
  291.  
  292.  
  293. On SUN Sparc systems have a look in the directory /usr/demo/SOUND.  Included
  294. are table lookup macros for ulaw conversions.  [Note however that not all
  295. systems will have /usr/demo/SOUND installed as it is optional - see your
  296. system admin if it is missing.]
  297.  
  298.  
  299. OR, here is some sample conversion code in C.
  300.  
  301. # include <stdio.h>
  302.  
  303. unsigned char linear2ulaw(/* int */);
  304. int ulaw2linear(/* unsigned char */);
  305.  
  306. /*
  307. ** This routine converts from linear to ulaw.
  308. **
  309. ** Craig Reese: IDA/Supercomputing Research Center
  310. ** Joe Campbell: Department of Defense
  311. ** 29 September 1989
  312. **
  313. ** References:
  314. ** 1) CCITT Recommendation G.711  (very difficult to follow)
  315. ** 2) "A New Digital Technique for Implementation of Any
  316. **     Continuous PCM Companding Law," Villeret, Michel,
  317. **     et al. 1973 IEEE Int. Conf. on Communications, Vol 1,
  318. **     1973, pg. 11.12-11.17
  319. ** 3) MIL-STD-188-113,"Interoperability and Performance Standards
  320. **     for Analog-to_Digital Conversion Techniques,"
  321. **     17 February 1987
  322. **
  323. ** Input: Signed 16 bit linear sample
  324. ** Output: 8 bit ulaw sample
  325. */
  326.  
  327. #define ZEROTRAP    /* turn on the trap as per the MIL-STD */
  328. #undef ZEROTRAP
  329. #define BIAS 0x84   /* define the add-in bias for 16 bit samples */
  330. #define CLIP 32635
  331.  
  332. unsigned char linear2ulaw(sample) int sample; {
  333.   static int exp_lut[256] = {0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
  334.                              4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
  335.                              5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
  336.                              5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
  337.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  338.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  339.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  340.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  341.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  342.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  343.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  344.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  345.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  346.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  347.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  348.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
  349.   int sign, exponent, mantissa;
  350.   unsigned char ulawbyte;
  351.  
  352.   /* Get the sample into sign-magnitude. */
  353.   sign = (sample >> 8) & 0x80;        /* set aside the sign */
  354.   if(sign != 0) sample = -sample;        /* get magnitude */
  355.   if(sample > CLIP) sample = CLIP;        /* clip the magnitude */
  356.  
  357.   /* Convert from 16 bit linear to ulaw. */
  358.   sample = sample + BIAS;
  359.   exponent = exp_lut[( sample >> 7 ) & 0xFF];
  360.   mantissa = (sample >> (exponent + 3)) & 0x0F;
  361.   ulawbyte = ~(sign | (exponent << 4) | mantissa);
  362. #ifdef ZEROTRAP
  363.   if (ulawbyte == 0) ulawbyte = 0x02;    /* optional CCITT trap */
  364. #endif
  365.  
  366.   return(ulawbyte);
  367. }
  368.  
  369. /*
  370. ** This routine converts from ulaw to 16 bit linear.
  371. **
  372. ** Craig Reese: IDA/Supercomputing Research Center
  373. ** 29 September 1989
  374. **
  375. ** References:
  376. ** 1) CCITT Recommendation G.711  (very difficult to follow)
  377. ** 2) MIL-STD-188-113,"Interoperability and Performance Standards
  378. **     for Analog-to_Digital Conversion Techniques,"
  379. **     17 February 1987
  380. **
  381. ** Input: 8 bit ulaw sample
  382. ** Output: signed 16 bit linear sample
  383. */
  384.  
  385. int ulaw2linear(ulawbyte) unsigned char ulawbyte; {
  386.   static int exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
  387.   int sign, exponent, mantissa, sample;
  388.  
  389.   ulawbyte = ~ulawbyte;
  390.   sign = (ulawbyte & 0x80);
  391.   exponent = (ulawbyte >> 4) & 0x07;
  392.   mantissa = ulawbyte & 0x0F;
  393.   sample = exp_lut[exponent] + (mantissa << (exponent + 3));
  394.   if(sign != 0) sample = -sample;
  395.  
  396.   return(sample);
  397. }
  398.  
  399.  
  400.  
  401. =======================================================================
  402.  
  403. SECTION 3 - Speech Coding and Compression
  404.  
  405. Q3.1: Speech compression techniques.
  406.  
  407. Can anyone provide a 1-2 page summary on speech compression?  Topics to
  408. cover might include common technqiues, where speech compression might be 
  409. used and perhaps something on why speech is difficult to compress.
  410.  
  411.   [The FAQ for comp.compression includes a few questions and answers
  412.    on the compression of speech.]
  413.  
  414. ------------------------------------------------------------------------
  415.  
  416. Q3.2: What are some good references/books on coding/compression?
  417.  
  418.   Douglas O'Shaughnessy -- Speech Communication: Human and Machine
  419.     Addison Wesley series in Electrical Engineering: Digital Signal 
  420.     Processing, 1987.
  421.  
  422.   Bishnu Atal in ed. Fallside, F. and W. Woods, ed. Computer Speech 
  423.     Processing. London: Prentice/Hall International, 1985.
  424.  
  425.   Makhoul, J. "Linear Prediction: A Tutorial Review." Proc. of the
  426.     IEEE 63 (1975): 561 - 580.
  427.  
  428.  
  429. ------------------------------------------------------------------------
  430.  
  431. Q3.3: What software is available?
  432.  
  433. Note: there are two types of speech compression technique referred to below. 
  434. Lossless technqiues preserve the speech through a compression-decompression
  435. phase.  Lossy techniques do not preserve the speech prefectly.  As a general
  436. rule, the more you compress speech, the more the quality degardes.
  437.  
  438.  
  439. Package:     File format conversion
  440. Platform:    SUN OS?
  441. Description: Conversion utility able to encode and decode between the
  442.     the following formats: G.723, G.721, A-law, u-law and linear.
  443. Availability: By anonymous ftp from
  444.     ftp.cwi.nl:/pub/audio/ccitt-adpcm.tar.Z
  445.  
  446.  
  447. Package:     shorten - a lossless compressor for speech signals
  448. Platform:    UNIX/DOS
  449. Description: A lossless compressor for speech signals.  It will compile and 
  450.              run on UNIX workstations and will cope with a wide variety of
  451.              formats.  Compression is typically 50% for 16bit clean speech 
  452.              sampled at 16kHz.
  453. Availability: Anonymous ftp - POrtable UNIX version is
  454.         svr-ftp.eng.cam.ac.uk:/comp.speech/sources/shorten-1.11.tar.Z
  455.          Unsupported DOS version is
  456.         svr-ftp.eng.cam.ac.uk:/comp.speech/sources/shn109.exe
  457.  
  458.  
  459. Package: CELP 3.2a & LPC
  460. Platform:    Sun (the makefiles & source can be modified for other platforms)
  461. Description: CELP is lossy compression technqiue.
  462.     The U.S. DoD's Federal-Standard-1016 based 4800 bps code excited
  463.         linear prediction voice coder version 3.2a (CELP 3.2a) Fortran and
  464.         C simulation source codes.  Available for worldwide distribution
  465.     (on DOS diskettes, but configured to compile on Sun SPARC stations) 
  466.     from NTIS and DTIC.  Example input and processed speech files are 
  467.     included.  A Technical Information Bulletin (TIB), "Details to Assist 
  468.     in Implementation of Federal Standard 1016 CELP," and the official
  469.     standard, "Federal Standard 1016, Telecommunications:  Analog to
  470.     Digital Conversion of Radio Voice by 4,800 bit/second Code Excited
  471.     Linear Prediction (CELP)," are also available.
  472.  
  473. Availability 1: Through the National Technical Information Service:
  474.     NTIS
  475.     U.S. Department of Commerce
  476.     5285 Port Royal Road,
  477.     Springfield, VA  22161, USA
  478.  
  479.     The "AD" ordering number for the CELP software is AD M000 118
  480.     (US$ 90.00) and for the TIB it's AD A256 629 (US$ 17.50).  
  481.     The LPC-10 standard, described below, is FIPS Pub 137 (US$ 12.50).  
  482.     There is a $3.00 shipping charge on all U.S. orders.  The telephone 
  483.     number for their automated system is 703-487-4650, or 703-487-4600 
  484.     if you'd prefer    to talk with a real person.
  485.  
  486.     (U.S. DoD personnel and contractors can receive the package from the
  487.     Defense Technical Information Center:  DTIC, Building 5, Cameron
  488.     Station, Alexandria, VA 22304-6145.  Their telephone number is
  489.     703-274-7633.)
  490.  
  491. Availability 2: By anonymous ftp from:
  492.     super.org (192.31.192.1):/pub/celp_3.2a.tar.Z
  493.         OR
  494.     svr-ftp.eng.cam.ac.uk:comp.speech/sources/celp_3.2a.tar.Z
  495.  
  496. Misc: The following articles describe the Federal-Standard-1016 4.8-kbps 
  497.     CELP coder (it's unnecessary to read more than one):
  498.  
  499.     Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch,
  500.     "The Federal Standard 1016 4800 bps CELP Voice Coder," Digital Signal
  501.     Processing, Academic Press, 1991, Vol. 1, No. 3, p. 145-155.
  502.  
  503.     Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch,
  504.     "The DoD 4.8 kbps Standard (Proposed Federal Standard 1016),"
  505.     in Advances in Speech Coding, ed. Atal, Cuperman and Gersho,
  506.     Kluwer Academic Publishers, 1991, Chapter 12, p. 121-133.
  507.  
  508.     Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The
  509.     Proposed Federal Standard 1016 4800 bps Voice Coder:  CELP," Speech
  510.     Technology Magazine, April/May 1990, p. 58-64.
  511.  
  512.     * The U.S. DoD's Federal-Standard-1015/NATO-STANAG-4198 based 2400
  513.     bps linear prediction coder (LPC-10) was republished as a Federal
  514.     Information Processing Standards Publication 137 (FIPS Pub 137).
  515.     It is described in:
  516.  
  517.     Thomas E. Tremain, "The Government Standard Linear Predictive Coding
  518.     Algorithm:  LPC-10," Speech Technology Magazine, April 1982, p. 40-49.
  519.  
  520.     There is also a section about FS-1015 in the book:
  521.     Panos E. Papamichalis, Practical Approaches to Speech Coding,
  522.     Prentice-Hall, 1987.
  523.  
  524.     * The voicing classifier used in the enhanced LPC-10 (LPC-10e) is 
  525.     described in: Campbell, Joseph P., Jr. and T. E. Tremain, "Voiced/
  526.     Unvoiced Classification of Speech with Applications to the U.S. 
  527.     Government LPC-10E Algorithm," Proceedings of the IEEE International 
  528.     Conf. on Acoustics, Speech, and Signal Processing, 1986, p. 473-6.
  529.  
  530.     * Copies of the official standard, "Federal Standard 1016, Tele-
  531.     communications: Analog to Digital Conversion of Radio Voice by 4,800 
  532.     bit/second Code Excited Linear Prediction (CELP)" are available for 
  533.     US$ 5.00 each from:
  534.          GSA Federal Supply Service Bureau
  535.         Specification Section, Suite 8100
  536.         470 E. L'Enfant Place, S.W.
  537.         Washington, DC  20407
  538.         (202)755-0325
  539.  
  540.     * Realtime DSP code for FS-1015 and FS-1016 is sold by:
  541.  
  542.     John DellaMorte, DSP Software Engineering
  543.     165 Middlesex Tpk, Suite 206
  544.     Bedford, MA  01730, USA
  545.     Ph: 1-617-275-3733    Fax: 1-617-275-4323
  546.     dspse.bedford@channel1.com
  547.  
  548.     * DSP Software Engineering's FS-1016 code can run on a DSP Research's 
  549.     Tiger 30 (a PC board with a TMS320C3x and analog interface suited 
  550.     to development work).
  551.  
  552.     DSP Research
  553.     1095 E. Duane Ave.          
  554.     Sunnyvale, CA  94086, USA
  555.     Ph: (408)773-1042    Fax: (408)736-3451 (fax)
  556.  
  557.  
  558.  
  559. Package:     32 kbps ADPCM
  560. Platform:    SGI and Sun Sparcs
  561. Description: 32 kbps ADPCM C-source code (G.721 compatibility is uncertain)
  562. Contact:     Jack Jansen
  563. Availablity: Anoymous ftp to ftp.cwi.nl: pub/adpcm.shar
  564.  
  565.  
  566. Package:     GSM 06.10 Compression
  567. Platform:    Runs faster than real time on most Sun SPARCstations
  568. Description: GSM 06.10 is lossy compression technqiue.
  569.          European GSM 06.10 provisional standard for full-rate speech
  570.              transcoding, prI-ETS 300 036, which uses RPE/LTP (residual
  571.              pulse excitation/long term prediction) coding at 13 kbit/s.
  572. Contact:     Carsten Bormann <cabo@cs.tu-berlin.de>
  573. Availability: An implementation can be ftp'ed from:
  574.                 tub.cs.tu-berlin.de: /pub/tubmik/gsm-1.0.tar.Z
  575.                                     +/pub/tubmik/gsm-1.0-patch1
  576.                 or as a faster but not always up-to-date alternative:
  577.                        liasun3.epfl.ch: /pub/audio/gsm-1.0pl1.tar.Z
  578.  
  579. Package:      G.721/722/723 Compression
  580. Description:  ?
  581. Availability: By email to teledoc@itu.arcom.ch, with
  582.         GET ITU-3022
  583.     as the *only* line in the body of the message.
  584.     This is also available by anonymous ftp from:
  585.     svr-ftp.eng.cam.ac.uk:comp.speech/sources/G711_G722_G723.tar.Z
  586.  
  587.  
  588. Package:     U.S.F.S. 1016 CELP vocoder for DSP56001
  589. Platform:    DSP56001
  590. Description: Real-time U.S.F.S. 1016 CELP vocoder that runs on a single 
  591.     27MHz Motorola DSP56001.  Free demo software available from PC-56
  592.     and PC-56D.  Source and object code available for a one-time 
  593.     license fee.
  594. Contact: Cole Erskine
  595.     Analogical Systems    
  596.         2916 Ramona St.        
  597.         Palo Alto, CA 94306, USA
  598.         Tel:(415) 323-3232  FAX:(415) 323-4222
  599.     Internet: cole@analogical.com
  600.  
  601.  
  602. Product: 8 Kbit/s CELP on the TMS320C5x family of DSP chips.
  603. Description: For low bandwidth transmission of voice, compact voice storage 
  604.     for archival purposes, low-cost digital answering machines and
  605.         efficient storage for voice mail.  Features :- 
  606.     - near toll quality at 8 Kb/s.
  607.         - Variable rate option with 1 Kb/s silence encoding
  608.         - Implemented on a fixed-point processor for lower system cost.
  609.         - Attractive licensing scheme.
  610.         - Future availability of 4 Kb/s.
  611.         - Custom rates possible.
  612.     Capacity :-
  613.         - Two half-duplex or one full duplex channels on the 20 MIPS 'C5x
  614.                 (at 95% and 55% CPU utilization respectively).
  615.         - Two full duplex channels on the 28.6 MIPS 'C5x
  616.                 (at 77% CPU utilization).
  617.         - Requires 9 K-words program memory and 3 K-words data memory.
  618.         - Decoding in real-time on a 486 class CPU.
  619. Contact: CVI Inc.
  620.     443 Vienna Cres. North Vancouver, BC, Canada V7N 3B3
  621.     Tel: (604) 987 1719   Fax: (604) 986 8139
  622.     Email: cvi@extropia.wimsey.com
  623.  
  624.  
  625.  
  626.  
  627. =======================================================================
  628.  
  629. SECTION 4 - Natural Language Processing
  630.  
  631. There is now a newsgroup specifically for Natural Language Processing.
  632. It is called comp.ai.nat-lang.  
  633.  
  634. There is also a lot of useful information on Natural Language Processing 
  635. in the FAQ for comp.ai.  That FAQ lists available software and useful 
  636. references.  It includes a substantial list of software, documentation 
  637. and other info available by ftp.
  638.  
  639. ------------------------------------------------------------------------
  640.  
  641. Q4.1: What are some good references/books on NLP?
  642.  
  643.  
  644. Take a look at the FAQ for the "comp.ai" newsgroup as it also includes some 
  645. useful references.
  646.  
  647.  
  648.   James Allen: Natural Language Understanding. (Benjamin/Cummings Series in
  649.   Computer Science) Menlo Park: Benjamin/Cummings Publishing Company, 1987.
  650.  
  651.     This book consists of four parts: syntactic processing, semantic
  652.     interpretation, context and world knowledge, and response generation.
  653.  
  654.   G. Gazdar and C. Mellish, Natural Language Processing in {Prolog/Lisp/Pop11},
  655.   Addison Wesley, 1989
  656.  
  657.     Emphasis on parsing, especially unification-based parsing, lots of 
  658.     details on the lexicon, feature propagation, etc. Fair coverage of 
  659.     semantic interpretation, inference in natural language processing, 
  660.     and pragmatics; much less extensive than in Allen's book, but more
  661.     formal.  There are three versions, one for each programming language 
  662.     listed above, with complete code.
  663.  
  664.   Shapiro, Stuart C.: Encyclopedia of Artificial Intelligence Vol.1 and 2.
  665.   New York: John Wiley & Sons, 1990.
  666.  
  667.     There are articles on the different areas of natural language
  668.     processing which also give additional references.
  669.  
  670.   Paris, Ce'cile L.; Swartout, William R.; Mann, William C.: Natural Language
  671.   Generation in Artificial Intelligence and Computational Linguistics. Boston:
  672.   Kluwer Academic Publishers, 1991.
  673.  
  674.     The book describes the most current research developments in natural 
  675.     language generation and all aspects of the generation process are
  676.     discussed. The book is comprised of three sections: one on text
  677.     planning, one on lexical choice, and one on grammar.
  678.  
  679.    Readings in Natural Language Processing, ed by B. Grosz, K. Sparck Jones
  680.    and B. Webber, Morgan Kaufmann, 1986
  681.  
  682.     A collection of classic papers on Natural Language Processing.  
  683.         Fairly complete at the time the book came out (1986) but now 
  684.     seriously out of date. Still useful for ATN's, etc.
  685.  
  686.    Klaus K. Obermeier, Natural Language Processing Technologies
  687.    in Artificial Intelligence: The Science and Industry Perspective,
  688.    Ellis Horwood Ltd, John Wiley & Sons, Chichester, England, 1989.
  689.  
  690.  
  691. The major journals of the field are "Computational Linguistics" and 
  692. "Cognitive Science" for the artificial intelligence aspects, "Cognition" 
  693. for the psychological aspects, "Language", "Linguistics and Philosophy" and 
  694. "Linguistic Inquiry" for the linguistic aspects.  "Artificial Intelligence" 
  695. occasionally has papers on natural language processing.
  696.  
  697.  
  698. The major conferences are ACL (held every year) and COLING (held every two
  699. years).  Most AI conferences have a NLP track; AAAI, ECAI, IJCAI and the
  700. Cognitive Science Society conferences usually are the most interesting for 
  701. NLP.  CUNY is an important psycholinguistic conference. There are lots of 
  702. linguistic conferences: the most important seem to be NELS, the conference 
  703. of the Chicago Linguistic Society (CLS), WCCFL, LSA, the Amsterdam Colloquium,
  704. and SALT. 
  705.  
  706.  
  707. ------------------------------------------------------------------------
  708.  
  709. Q4.2: What NLP software is available?
  710.  
  711. The FAQ for the "comp.ai" newsgroup lists a variety of language processing 
  712. software that is available.  That FAQ is posted monthly.
  713.  
  714.  
  715. Natural Language Software Registry (NLSR)
  716. =========================================
  717.  
  718. The Natural Language Software Registry is available from the German Research 
  719. Institute for Artificial Intelligence (DFKI) in Saarbrucken.  Its purpose 
  720. is to facilitate the exchange and evaluation of natural language processing 
  721. software within the research community.  To this end, the NLSR is
  722. cataloging natural language software projects, both commercial and non- 
  723. commercial. The new updated and enlarged version contains more than 100 
  724. descriptions of natural processing software. Registry listings include:
  725.  
  726. + speech signal processors, such as the Computerized Speech Lab 
  727.     (Kay Elemetrics)
  728. + morphological analyzers, such as PC-KIMMO 
  729.     (Summer Institute for Linguistics)
  730. + parsers, such as Alveytools (University of Edinburgh)
  731. + semantic and pragmatic analyzer, such as NLL
  732.         (University of the Saarland, Germany)
  733. + generation programs, such as FUF
  734.         (Ben Gurion University of the Negev)
  735. + knowledge representation systems, such as Rhet 
  736.     (University of Rochester)
  737. + multicomponent systems, such as ELU (ISSCO), PENMAN (ISI), 
  738.     Pundit (UNISYS), SNePS (SUNY Buffalo),
  739. + NLP-Tools, such as GULP (University of Georgia) or Linguist
  740.         (Kansai Research Laboratory)
  741. + applications programs (misc.)
  742.  
  743.  
  744. If you have developed a piece of software for natural language
  745. processing that other researchers might find useful, you can include 
  746. it by returning the questionnaire available from the sources below.
  747.  
  748.  
  749.     ftp: Germany: ftp.dfki.uni-sb.de (134.96.188.252)
  750.                   (directory: pub/registry, password:anonymous) 
  751.  e-mail: registry@dfki.uni-sb.de
  752.    post: Natural Language Software Registry
  753.          Deutsches Forschungsinstitut fuer Kuenstliche Intelligenz (DFKI)
  754.          Stuhlsatzenhausweg 3
  755.          D-66123 Saarbruecken
  756.          Germany
  757.  
  758. Other ftp sites are
  759.  
  760.     crlftp.nmsu.edu (128.123.1.33)
  761.     The directory is pub/non-lexical/NL_Software_Registy
  762.  
  763.     dri.cornell.edu (128.84.180.39)
  764.     The directory is /pub/Natural_Language_Software_Registry
  765.               or /pub/NLSR
  766.  
  767.  
  768.  
  769.  
  770. Andrew Hunt
  771. Speech Technology Research Group        Ph:  61-2-692 4509
  772. Dept. of Electrical Engineering            Fax: 61-2-692 3847
  773. University of Sydney, NSW, 2006, Australia    email: andrewh@speech.su.oz.au
  774.